var db = wx.cloud.database();
const _ = db.command;
const app = getApp()
Page({
  data: {
    depts: [],
    index: 0,
    name: '',
    password: '',
    dept: ''
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.onGetTime();
    this.onQuery();
  },
  onQuery: function(){
    // 在小程序代码中：
    wx.cloud.callFunction({
      name: 'fetchDepts',
      data: {

      }
    })
    .then(res=>{
      console.log('callFunction fetchDepts result: ', res);
      let items = res.result.data;
      
      this.setData({
        depts: items
      })
    })
    .catch(err=>{
      console.error('[云函数] [fetchDepts] 调用失败', err)
      wx.navigateTo({
        url: '../deployFunctions/deployFunctions',
      })
    })
},
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  //获取用户名
  getName(event) {
    console.log('获取输入的用户名', event.detail.value)
    this.setData({
      name: event.detail.value
    })
  },
  //获取用户账号
  getPassword(event) {
    console.log('获取输入的账号', event.detail.value)
    this.setData({
      password: event.detail.value
    })
  },
  // 获取密码
  getDept(event) {
    console.log('获取输入的密码', event.detail.value)
    this.setData({
      dept: event.detail.value
    })
  },  
  bindDeptChange: function(e){
    console.log('picker branch code 发生选择改变，携带值为', e.detail.value);

    this.setData({
      index: e.detail.value
    })
  },

  //注册
  zhuce() {
    let name = this.data.name
    let password = this.data.password
    let dept = this.data.depts[this.data.index]['name'];
    console.log("点击了注册")
    console.log("name", name)
    console.log("password", password)
    console.log("dept", dept)
    //校验用户名
    if (name.length < 2) {
      wx.showToast({
        icon: 'none',
        title: '用户名至少2位',
      })
      return
    }
    if (name.length > 10) {
      wx.showToast({
        icon: 'none',
        title: '用户名最多10位',
      })
      return
    }
    //校验账号
    if (password.length < 4) {
      wx.showToast({
        icon: 'none',
        title: '密码至少4位',
      })
      return
    }
    //校验密码

    //注册功能的实现
    var shijian = app.globalData.tie
    var times = app.globalData.times
    wx.cloud.database().collection('profiles').add({
      data: {
        _id: app.globalData.openid,
        name: name,
        password: password,
        dept: this.data.depts[this.data.index]['name'],
        times: times,
        time: this.data.time,
        shijian: shijian
      }
    })
    .then(res=>{
      console.log('注册成功', res)
      wx.showToast({
        title: '注册成功',
      })
      this.addPoints(name,dept);
    })
    .catch(err=>{
      console.log(err);
      wx.showToast({
        title: '注册失败',
      })
    })
  },
  addPoints: function(name, dept){
    wx.cloud.database().collection('points').add({
      data: {
        _id: app.globalData.openid,
        name: name,
        dept: this.data.depts[this.data.index]['name'],
        num: 0
      }
    })
    .then(res=>{
      console.log('注册成功', res)
      wx.reLaunch({
        url: '../login/login',
      })
    })    
    .catch(err=>{
      console.log(err);
   
    })
},
  onGetTime: function() {
    // 调用云函数
    let that = this;
    wx.cloud.callFunction({
      name: 'getTime',
      data: {

      }
    })
    .then(res => {
      console.log('[云函数] [getTime]: ', res)
      let time = res.result.time
      that.setData({
        time
      });
      
    }).catch(err => {
      console.error('[云函数] [getTime] 调用失败', err)
      wx.navigateTo({
        url: '../deployFunctions/deployFunctions',
      })
    })
  },
})